Check assumptions

Invalid rides

Quite some rides ending after a service pickup.

Other discrepancies possibly due to both eventual consistency in the source data, and invalid rides as well.

Cross-check the number of expected invalid rides in the last deployment cycle (create_performance.sql)

Lack of gross_amount?

Half of rides without an amount is also and offending ride. Lack of amount is unrelated to distance.

Pricing

QR-codes

QR-codes map to vehicle IDs 1:1.

Prep data quality checks

All id-columns are made of 20 character-long strings. QR-code column made of 6 characters.